package pack1014;

// 总结方法调用
/*
    1. 本类其他方法调用
    2. 自身调用（递归）
    3. 他类方法调用
 */
public class DemoA {

    public void a() {
        System.out.println("我是DemoA类的a方法");
    }

    public void b() {
        System.out.println("我是DemoA类的b方法");
        // 调用a方法 直接调用
        a();
    }

    public void c() {
        System.out.println("我是DemoA类的c方法");
        // 不能死循环
        c();
    }

    // 使用递归计算1-100之和
    int sum = 0;
    int i = 1;

    public void sum() {
        sum += i; // sum = sum + i;
        i++;
        if (i < 101) {
            sum();
        } else {
            System.out.println(sum);
        }
    }

    // 计算1-100之间的偶数和（递归）
    public void jisuanOushuHe(int sum, int j) {
        if (j % 2 == 0) {
            sum += j;
        }
        j++;
        if (j < 101) {
            jisuanOushuHe(sum, j); // 将计算的结果传递到下一个方法中
        } else {
            System.out.println("偶数和是：" + sum);
        }
    }

    // 使用递归输出九九乘法表（不允许使用循环）
    public void jiujiu(int i, int j) {
        System.out.print(i + " * " + j + " = " + (i * j) + "\t");
        if (i == j) {
            i = 0;
            j++;
            System.out.println();
        }
        i++;
        if (j <= 9) {
            jiujiu(i, j);
        }
    }
}